package co.edu.eam.persitencia.entidades;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 * Entidad que representa el detalle de la formula medica.
 *
 */
@NamedQueries({
    @NamedQuery(name=DetalleFormulaMedica.CONSULTA_LISTAR_DETALLEFORMULAMEDICA,query=("SELECT detalle FROM DetalleFormulaMedica detalle")),
})
@Entity
@Table(name = "Clinica_DetalleFormulaMedica")

public class DetalleFormulaMedica implements Serializable {

    
    public static final String CONSULTA_LISTAR_DETALLEFORMULAMEDICA="DetalleFormulaMedica.listarDetalleFormulaMedica";
    /**
     * Identicador unico de la entidad.
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="DetalleFormulaMedica_Id")
    private Long id;
    /**
     * Cantidad que se debe suministrar.
     */
    @Column(name="DetalleFormulaMedica_Cantidad")
    private Integer cantidad;
    /**
     * Prescripción del articulo.
     */
    @Column(name="DetalleFormulaMedica_Prescripcion")
    private String prescripcion;
    /**
     * Articulo del detalle de la formuna medica.
     */
    @ManyToOne
    @JoinColumn(name="DetalleFormulaMedica_Articulo")
    private Articulo articulo;
    /**
     * Formula Medica a la cual esta asociada el detalle.
     */
    @ManyToOne
    @JoinColumn(name="DetalleFormulaMedica_FormulaMedica")
    private FormulaMedica formulaMedica;

    /**
     * Constructor sin parametros.
     */
    public DetalleFormulaMedica() {
        super();
    }

    public DetalleFormulaMedica(Integer cantidad, String prescripcion, Articulo articulo) {
        this.cantidad = cantidad;
        this.prescripcion = prescripcion;
        this.articulo = articulo;
    }

    
    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the cantidad
     */
    public Integer getCantidad() {
        return cantidad;
    }

    /**
     * @param cantidad the cantidad to set
     */
    public void setCantidad(Integer cantidad) {
        this.cantidad = cantidad;
    }

    /**
     * @return the prescripcion
     */
    public String getPrescripcion() {
        return prescripcion;
    }

    /**
     * @param prescripcion the prescripcion to set
     */
    public void setPrescripcion(String prescripcion) {
        this.prescripcion = prescripcion;
    }

    /**
     * @return the articulo
     */
    public Articulo getArticulo() {
        return articulo;
    }

    /**
     * @param articulo the articulo to set
     */
    public void setArticulo(Articulo articulo) {
        this.articulo = articulo;
    }

    /**
     * @return the formulaMedica
     */
    public FormulaMedica getFormulaMedica() {
        return formulaMedica;
    }

    /**
     * @param formulaMedica the formulaMedica to set
     */
    public void setFormulaMedica(FormulaMedica formulaMedica) {
        this.formulaMedica = formulaMedica;
    }
    //TODO:falta toString
}
